//
//  IpcPort.h
//  Shared memory ipc
//  2006, John Wiggins
//
// This program is free software; you can redistribute it and/or modify  
// it under the terms of the GNU General Public License as published by  
// the Free Software Foundation; either version 2 of the License, or     
// (at your option) any later version.                                   
// 
// This program is distributed in the hope that it will be useful,       
// but WITHOUT ANY WARRANTY; without even the implied warranty of        
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         
// GNU General Public License for more details.                          
//     
//     You should have received a copy of the GNU General Public License     
//     along with this program; if not, write to the                         
//         Free Software Foundation, Inc.,                                       
//         59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  
//-------------------------------------------------------------
#ifndef IPC_PORT_H
#define IPC_PORT_H
//-------------------------------------------------------------
#include "Basics/BasTypes.h"
//-------------------------------------------------------------
#define IPC_PORT_NAME_LENGTH 32
//-------------------------------------------------------------
typedef int32 ipc_port_t;
//-------------------------------------------------------------
ipc_port_t		pp_create_port( char const *name );
status_t		pp_delete_port( ipc_port_t port );
ipc_port_t		pp_find_port( char const *name );
status_t		pp_port_has_message( ipc_port_t port );
status_t		pp_port_buffer_size( ipc_port_t port );
status_t		pp_read_port( ipc_port_t port, uint32 *msg_code,
								 void *msg_buffer, int32 buffer_size );
status_t		pp_write_port( ipc_port_t port, uint32 msg_code,
								 void *msg_buffer, int32 buffer_size );
//-------------------------------------------------------------
#endif // IPC_PORT_H
